package com.ctshk.rpc.cms.service;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.cms.dto.*;
import com.ctshk.rpc.cms.req.AppHomeCMSReq;
import com.ctshk.rpc.cms.req.AppHomeHotRecommendSearchReq;
import com.ctshk.rpc.cms.req.AppHomeSearchReq;

import java.util.List;

public interface IAppHomeService {

    /**
     * APP首页 搜索
     * @param req
     * @return
     */
    Result<List<AppHomeSearchResDTO>> search(AppHomeSearchReq req,TokenUser currentUser);

    /**
     * APP首页 单项热门推荐搜索聚合
     * @param req
     * @return
     */
    Result<List<HomeHotRecommendDTO>> hotRecommend(AppHomeHotRecommendSearchReq req, TokenUser tokenUser);

    /**
     * APP首页CMS聚合
     * @param req
     * @return
     */
    Result<AppHomeCmsDTO> getHomeCMS(AppHomeCMSReq req,TokenUser tokenUser);

    /**
     * PC首页CMS聚合
     * @param req
     * @param currentUser
     * @return
     */
    Result<PcHomeCmsDTO> getPCHomeCMS(AppHomeCMSReq req, TokenUser currentUser);

    /**
     * PC首页推荐聚合
     * @param req
     * @param currentUser
     * @return
     */
    Result<PCHomeProductGroupDTO> pcGroupInfo(Long channelId, TokenUser currentUser);

    /**
     * PC首页分组产品信息查询
     * @param req
     * @return
     */
    Result<List<HomeHotRecommendDTO>> groupSearch(AppHomeHotRecommendSearchReq req,TokenUser currentUser);

}
